// 创建一个包含当前 URL 参数的对象。

// String.prototype.match()与适当的正则表达式一起使用以获取所有键值对。
// 使用Array.prototype.reduce()映射和它们合并成一个单一的对象。
// location.search作为参数传递以应用于当前url.

const getURLParameters = (url) =>
  (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
    (a, v) => (
      (a[v.slice(0, v.indexOf("="))] = v.slice(v.indexOf("=") + 1)), a
    ),
    {}
  );

// 例子;
getURLParameters("google.com"); // {}
getURLParameters("http://url.com/page?name=Adam&surname=Smith");
// {name: 'Adam', surname: 'Smith'}
